tmrland-personal-demo
by @cpy1990
TMR Land personal agent for an AI business marketplace. Use when: (1) searching for AI/data businesses, (2) publishing purchase intentions, (3) placing and m...
clawhub install tmrland-personal-demoπ About This Skill
name: tmrland-personal description: "TMR Land personal agent for an AI business marketplace. Use when: (1) searching for AI/data businesses, (2) publishing purchase intentions, (3) placing and managing escrow orders, (4) evaluating business credit scores, (5) browsing Grand Apparatus predictions." homepage: https://tmrland.com metadata: {"clawdbot":{"emoji":"π","requires":{"bins":["node"],"env":["TMR_API_KEY"]},"primaryEnv":"TMR_API_KEY"}}
TMR Land β Personal Skill
Connect your agent to TMR Land, a bilingual (zh/en) AI business marketplace. As a personal user you search businesses, publish Intentions, place escrow orders, and evaluate business quality via credit scoring.
Setup
Set TMR_API_KEY β create one via POST /api/v1/api-keys with role: "personal".
Optionally set TMR_BASE_URL (default: https://tmrland.com/api/v1).
Scripts
# Search active businesses
node {baseDir}/scripts/search-businesses.mjs --limit 10Create an intention (structured need)
node {baseDir}/scripts/create-intention.mjs --content "Need a fine-tuned Chinese NLP model for sentiment analysis" [--locale zh]List your intentions
node {baseDir}/scripts/list-intentions.mjs [--limit N]Get intention details
node {baseDir}/scripts/get-intention.mjs Publish a draft intention
node {baseDir}/scripts/publish-intention.mjs Cancel an intention
node {baseDir}/scripts/cancel-intention.mjs One-shot search (create + profile + match + return results)
node {baseDir}/scripts/quick-search.mjs --content "Need an NLP model for sentiment analysis"Trigger multi-path matching (rules + BM25 + vector + RRF fusion)
node {baseDir}/scripts/trigger-match.mjs Check matching status (pending/running/completed/failed)
node {baseDir}/scripts/match-status.mjs Get matched business candidates
node {baseDir}/scripts/get-matches.mjs Start negotiations with matched businesses
node {baseDir}/scripts/start-negotiation.mjs --intention --businesses List your negotiation sessions
node {baseDir}/scripts/list-negotiations.mjs [--intention ]View/send messages in a negotiation
node {baseDir}/scripts/negotiation-messages.mjs [--send "message text"]Accept a final_deal proposal (creates order)
node {baseDir}/scripts/accept-deal.mjs Reject a proposal
node {baseDir}/scripts/reject-deal.mjs Cancel a negotiation session
node {baseDir}/scripts/cancel-negotiation.mjs Check order status
node {baseDir}/scripts/order-status.mjs List all your orders
node {baseDir}/scripts/list-orders.mjs [--limit N]Cancel an order (before payment)
node {baseDir}/scripts/cancel-order.mjs Pay for an order (escrow)
node {baseDir}/scripts/pay-order.mjs [--currency USD|USDC]View order messages
node {baseDir}/scripts/get-messages.mjs Send a message in an order
node {baseDir}/scripts/send-message.mjs --content "message text"Accept delivery (releases escrow, moves to pending_rating)
node {baseDir}/scripts/accept-delivery.mjs Request revision (sends order back to business for rework)
node {baseDir}/scripts/request-revision.mjs --feedback "Please fix..."Submit a review
node {baseDir}/scripts/submit-review.mjs --order --rating <1-5> [--comment "..."]Check wallet balances
node {baseDir}/scripts/get-wallet.mjsGet a specific business profile
node {baseDir}/scripts/get-business.mjs Get a business's A2A agent card
node {baseDir}/scripts/get-agent-card.mjs Update a draft intention
node {baseDir}/scripts/update-intention.mjs [--title "..."] [--description "..."]Delete an intention
node {baseDir}/scripts/delete-intention.mjs Re-describe intention and re-match
node {baseDir}/scripts/redescribe-intention.mjs --content "..." [--locale zh]Get negotiation session details
node {baseDir}/scripts/get-negotiation.mjs Mark negotiation messages as read
node {baseDir}/scripts/mark-negotiation-read.mjs Withdraw a proposal
node {baseDir}/scripts/withdraw-proposal.mjs Request revision on a delivery
node {baseDir}/scripts/request-revision.mjs --feedback "Please fix..."Get order receipt
node {baseDir}/scripts/get-receipt.mjs Open a dispute on an order
node {baseDir}/scripts/create-dispute.mjs --reason "..." [--refund-type full|partial] [--refund-amount N]Charge wallet (add funds)
node {baseDir}/scripts/charge-wallet.mjs --amount 100 [--currency USD]Withdraw from wallet
node {baseDir}/scripts/withdraw-wallet.mjs --amount 50 [--currency USD]List wallet transactions
node {baseDir}/scripts/list-transactions.mjs [--limit N]Submit KYC verification
node {baseDir}/scripts/submit-kyc.mjs --name "..." --id-type passport --id-number "..."List order message conversations
node {baseDir}/scripts/list-conversations.mjs [--limit N]Mark order messages as read
node {baseDir}/scripts/mark-messages-read.mjs List notifications
node {baseDir}/scripts/list-notifications.mjsMark a notification as read
node {baseDir}/scripts/mark-notification-read.mjs Mark all notifications as read
node {baseDir}/scripts/mark-all-read.mjsGet reviews for a business
node {baseDir}/scripts/get-reviews.mjs Get reputation scores for a business
node {baseDir}/scripts/get-reputation.mjs Get review leaderboard
node {baseDir}/scripts/get-leaderboard.mjsList Grand Apparatus questions
node {baseDir}/scripts/list-questions.mjs [--limit N]Vote on a Grand Apparatus answer
node {baseDir}/scripts/vote-answer.mjs --direction like|dislikeGet credit summary for a business
node {baseDir}/scripts/get-credit.mjs Get credit profile (agent-friendly vector data)
node {baseDir}/scripts/get-credit-profile.mjs Get credit review dimension details
node {baseDir}/scripts/get-credit-reviews.mjs Get credit dispute dimension details
node {baseDir}/scripts/get-credit-disputes.mjs List contracts
node {baseDir}/scripts/list-contracts.mjs [--limit N]Get KYC verification status
node {baseDir}/scripts/get-kyc.mjsGet unread notification count
node {baseDir}/scripts/unread-count.mjsGet reviews for a specific order
node {baseDir}/scripts/get-order-reviews.mjs Get a specific contract
node {baseDir}/scripts/get-contract.mjs Get question answer leaderboard
node {baseDir}/scripts/get-question-leaderboard.mjs List disputes
node {baseDir}/scripts/list-disputes.mjs [--limit N]
Personal Workflow
1. Register & fund β Create account, complete KYC, charge wallet
2. Publish intention β Describe your need via --content
3. Match β Trigger multi-path business matching
4. Review candidates β Check match scores, reputation, credit profiles, Apparatus track records
5. Negotiate β Start negotiation sessions with candidate businesses, exchange messages, review proposals
6. Accept deal β Accept a final_deal proposal, which creates a contract and order
7. Pay β Debits funds from your wallet for escrow (USD or USDC)
8. Communicate β Message the business via order chat
9. Accept delivery β Review deliverables, accept (releases escrow) or request revision
10. Review β Rate the business during the pending_rating window
Agent Behavioral Guide
Parameter Autonomy Levels
Three levels define how the agent handles each parameter:
| Operation | Parameter | Level | Notes |
|---|---|---|---|
| create_intention | content | CONFIRM | Agent may draft from conversation context; show draft before submitting |
| create_intention | locale | AUTO | Detect from content language (zh/en) |
| quick_search | content | CONFIRM | Same as create_intention content |
| publish_intention | intention_id | AUTO | Use ID from previous create step |
| update_intention | title, description | CONFIRM | Agent may suggest edits |
| redescribe_intention | content | CONFIRM | Agent may draft; warn about side effects first |
| redescribe_intention | locale | AUTO | Detect from content language |
| delete_intention | intention_id | ASK | Must confirm deletion intent |
| trigger_matching | intention_id | AUTO | Use ID from current workflow |
| start_negotiations | business_ids | ASK | Present match candidates; user selects |
| send_negotiation_message | content | CONFIRM | Agent may draft; user confirms |
| accept_deal | session_id | ASK | Must explain consequences and confirm |
| reject_deal | session_id | ASK | Must confirm rejection |
| cancel_negotiation | session_id | ASK | Must confirm cancellation |
| pay_order | currency | ASK | Must ask USD or USDC |
| pay_order | order_id | AUTO | Use ID from deal acceptance |
| send_message | content | CONFIRM | Agent may draft; user confirms |
| accept_delivery | order_id | ASK | Must explain escrow release and confirm |
| submit_review | rating | ASK | Never generate a rating |
| submit_review | comment | CONFIRM | Agent may suggest; user confirms |
| cancel_order | order_id | ASK | Must confirm cancellation |
| cancel_intention | intention_id | ASK | Must confirm cancellation |
Destructive Operations
These operations have significant side effects. The agent MUST warn the user and obtain explicit confirmation before calling.
| Operation | Side Effects | Required Confirmation |
|---|---|---|
| accept_delivery | β οΈ IRREVERSIBLE. Releases escrowed funds to business. Moves order to pending_rating. Cannot be undone except via dispute. | "Are you sure you want to accept delivery and release [amount] [currency] to [business]?" |
| accept_deal | β οΈ IRREVERSIBLE. Creates a binding contract and order. Cancels ALL other active negotiations for this intention. | "Accepting creates an order for [amount] with [business] and cancels all other negotiations. Proceed?" |
| pay_order | Debits funds from wallet for escrow. Funds held until delivery confirmation or dispute resolution. | "This will debit [amount] [currency] from your wallet. Pay with USD or USDC?" |
| redescribe_intention | β οΈ DESTRUCTIVE. Cancels all active negotiations. Replaces content and triggers re-matching. Previous negotiation history lost. | "This will cancel all current negotiations and start fresh. All negotiation progress will be lost. Continue?" |
| delete_intention | β οΈ DESTRUCTIVE. Permanently deletes intention and all associated data. | "This will permanently delete this intention. This cannot be undone. Confirm?" |
| cancel_order | Cancels order before payment. No financial impact. | "Cancel this order?" |
| cancel_negotiation | Ends negotiation session. History preserved but no further interaction. | "Cancel negotiation with [business]?" |
| reject_deal | Rejects proposal. Negotiation remains active for revised proposals. | "Reject this proposal? The business can send a revised offer." |
| cancel_intention | Cancels intention. Associated negotiations may be affected. | "Cancel this intention?" |
State Machine Reference
#### Intention Lifecycle
draft β published β matching β matched β negotiating β contracted
β β β β
cancelled cancelled cancelled gated β expired
| Status | Allowed Operations |
|---|---|
| draft | update_intention, publish_intention, delete_intention, cancel_intention |
| published | trigger_matching, redescribe_intention, cancel_intention |
| matching | (wait for completion β poll via get_match_status) |
| matched | get_matches, start_negotiations, redescribe_intention, cancel_intention |
| negotiating | send_negotiation_message, accept_deal, reject_deal, cancel_negotiation, redescribe_intention |
| contracted | (order created β manage via order tools) |
| gated | (awaiting platform review) |
| cancelled | delete_intention |
| expired | delete_intention |
#### Order Lifecycle
pending_payment β delivering β pending_review β pending_rating β completed
β β revision_requested
cancelled disputed
β
refunded
| Status | Allowed Operations (Personal) |
|---|---|
| pending_payment | pay_order, cancel_order |
| delivering | send_message, (wait for delivery) |
| pending_review | accept_delivery, request_revision, dispute, send_message |
| revision_requested | send_message, (wait for business resubmission) |
| pending_rating | submit_review |
| completed | (terminal) |
| disputed | get_dispute_votes (view Congress results) |
| cancelled | (terminal) |
| refunded | (terminal) |
#### Negotiation Lifecycle
active β contracted (creates contract + order)
β β
β rejected (stays active, can re-propose)
β
cancelled (terminal)
closed (terminal β order completed or cancelled)
| Status | Allowed Operations (Personal) |
|---|---|
| active | send_negotiation_message, accept_deal, reject_deal, cancel_negotiation |
| contracted | (order created β use order tools) |
| rejected | (terminal for that proposal; session may remain active) |
| cancelled | (terminal) |
| closed | (terminal) |
Async Flow Patterns
#### Standard Matching Flow
create_intention(content) β publish_intention(id)
β trigger_matching(id)
β poll get_match_status(id) until 'completed'
β get_matches(id) β present candidates to user
β start_negotiations(id, user_selected_ids)
#### Quick Search Shortcut
quick_search(content) β returns matches directly (synchronous)
Combines create + profile + match in one call. Use when user wants fast results without managing the intention lifecycle.
#### Negotiation β Order Flow
(in active negotiation)
β business sends proposal (send_proposal with status='final_deal')
β user reviews proposal
β accept_deal(session_id) β creates contract + order
β pay_order(order_id, currency)
β (wait for delivery)
β accept_delivery(order_id) β releases escrow, moves to pending_rating
β submit_review(order_id, rating)
API Overview
Auth: Authorization: Bearer . All paths prefixed with /api/v1. UUIDs for all IDs. Bilingual fields use _zh/_en suffixes. Pagination via offset+limit.
Key domains: auth, wallet, intentions, businesses, orders, contracts, credit, reviews, disputes, messages, notifications, apparatus.
See references/ for detailed request/response schemas per domain.
Error Summary
| Status | Meaning | |--------|---------| | 400 | Bad request β validation failed | | 401 | Unauthorized β invalid or missing token | | 403 | Forbidden β insufficient role/permissions | | 404 | Not found | | 409 | Conflict β duplicate or invalid state transition | | 422 | Unprocessable entity β schema validation error | | 500 | Internal server error |
βοΈ Configuration
Set TMR_API_KEY β create one via POST /api/v1/api-keys with role: "personal".
Optionally set TMR_BASE_URL (default: https://tmrland.com/api/v1).