@pulsarinteractive/geniustasker 0.1.0-beta.2 → 0.1.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/CLI.md CHANGED
@@ -1,4 +1,4 @@
1
- # GeniusTasker CLI & MCP · private beta
1
+ # GeniusTasker CLI and MCP reference
2
2
 
3
3
  Connect your own AI tools to your projects: read progress, work on tickets,
4
4
  comment, ask questions and keep a useful handoff. Your account and project
@@ -51,7 +51,7 @@ launching stdio servers with this entry (adjust environment/context as needed):
51
51
  "mcpServers": {
52
52
  "geniustasker": {
53
53
  "command": "npx",
54
- "args": ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.2", "mcp", "--context", "work"]
54
+ "args": ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.4", "mcp", "--context", "work"]
55
55
  }
56
56
  }
57
57
  }
@@ -156,7 +156,6 @@ Protocol references: [OAuth device authorization](https://www.rfc-editor.org/rfc
156
156
  [OAuth metadata](https://www.rfc-editor.org/rfc/rfc8414), and the
157
157
  [official MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk).
158
158
 
159
-
160
159
  ## Prepare, execute and recover writes
161
160
 
162
161
  Request the relevant permissions when connecting, for example:
@@ -222,8 +221,7 @@ record bodies; read them separately if your grant permits it.
222
221
  Local validation includes separate processes sharing one write, immutable retry
223
222
  after lost responses, strict inputs, receipt validation and an official MCP
224
223
  client communicating through stdio to actual Worker/SQLite domain services.
225
- Hosted owner acceptance and named product integrations remain separate gates.
226
-
224
+ Compatibility with each agent host requires its own connection test.
227
225
 
228
226
  ## Agent profiles and terminal identity
229
227
 
@@ -267,7 +265,6 @@ the previous usable credentials; read the profile list again. An unknown rotatio
267
265
  outcome requires logout/login, just like an unknown refresh. Credentials never
268
266
  appear in selection results, CLI output, MCP tool results or package artifacts.
269
267
 
270
-
271
268
  ## Ask a human on a ticket
272
269
 
273
270
  Request `questions:write` explicitly when connecting; an existing comments grant
@@ -314,7 +311,6 @@ an open anonymous question's public checkpoint.
314
311
  profile can close only questions it created. It cannot answer on behalf of its
315
312
  owner, impersonate another profile, or use a poll result as new authorization.
316
313
 
317
-
318
314
  ## Work updates and handoffs
319
315
 
320
316
  Prepare `task.report` through the normal command journal with the current task
@@ -329,7 +325,6 @@ comment. Completing/reopening a ticket clears its current phase. A report is
329
325
  progress information, not approval or proof independently verified by Tasker.
330
326
  Correct published reports with a new report; never rewrite an older receipt.
331
327
 
332
-
333
328
  ## Ask for approval of one precise action
334
329
 
335
330
  Connect with `approvals:write` explicitly, alongside the read grants needed to
@@ -374,8 +369,8 @@ Only the CLI/MCP source, its generated public command catalog, bundled agent ski
374
369
  and the selected guide/plugin files are distributed. Application source, infrastructure configuration,
375
370
  private product documents, test identities and credentials are excluded. No
376
371
  installation script runs and no background daemon or telemetry is installed.
377
- The package is distributed for the GeniusTasker beta; no open-source license has
378
- been granted. The public agent-tools repository contains only the standalone client.
372
+ The standalone client and skills are distributed under the MIT license.
373
+ Third-party components retain their original licenses.
379
374
 
380
375
  ## Independent memories
381
376
 
@@ -394,7 +389,31 @@ source provenance. Preserve IDs when editing; do not relabel a proposal as a
394
389
  verified fact. `pages --id ID` also reads one page. A targeted read has no change
395
390
  cursor; obtain one from a complete collection inventory when watching updates.
396
391
  Commands `memory.create/update/delete` and `memory.page.create/update/delete`
397
- require `memory:write`. For a new space, choose one UUID for its root ID, scope
392
+ require `memory:write`. For a new space, choose one UUID v4 for its root ID, scope
398
393
  suffix and initial epoch, then use the returned epoch/revision for later writes.
399
394
  All edits use the same local command journal and optimistic revision checks as
400
395
  project commands. Never copy private source files into this npm package.
396
+
397
+ ## Page access and visual Graph levels
398
+
399
+ A memory can define `contentRoles` (stable IDs and display names). Membership
400
+ assignments are managed in the application. Page `visibility` is `inherit`,
401
+ `restricted`, or `private`; `readRoles` selects defined roles for a restricted
402
+ page. Restrictions apply through parent folders and to attached files. Content
403
+ roles never grant editing rights. Only memory administrators can change page
404
+ restrictions or move existing pages between parents. Never change sharing as a
405
+ workaround for denied reads.
406
+
407
+ Resources, search, references and media reads enforce current page access.
408
+ After permission changes, discard cached results and restart incremental reads
409
+ when `reset_required` is returned. An offline copy cannot establish current
410
+ access. Keep Graph nodes and their own notes when a linked page is unavailable.
411
+
412
+ Nodes accept `imageAssetId` for an image uploaded to the same memory and
413
+ `detailLevel`: `auto`, `overview`, `identity`, or `detail`. The node `kind` is its content type. Overview shows products, projects and brands;
414
+ Identities shows characters, people and entities (never places or scenes). Details
415
+ shows every type and supports type/status filters. Prefer `auto`; an explicit
416
+ `overview` can highlight another type there. Display level is not authorization.
417
+ Upload only approved imagery. Attaching a private image to a shared Graph makes
418
+ it visible to that Graph's readers and requires the user's authorization.
419
+ Read the full current record before editing and preserve its revision.
@@ -7,8 +7,8 @@ are selected in the browser and enforced by the service on every request.
7
7
  ## Codex: direct MCP
8
8
 
9
9
  ```sh
10
- npx -y @pulsarinteractive/geniustasker@0.1.0-beta.2 auth login --context work
11
- codex mcp add geniustasker -- npx -y @pulsarinteractive/geniustasker@0.1.0-beta.2 mcp --context work
10
+ npx -y @pulsarinteractive/geniustasker@0.1.0-beta.4 auth login --context work
11
+ codex mcp add geniustasker -- npx -y @pulsarinteractive/geniustasker@0.1.0-beta.4 mcp --context work
12
12
  ```
13
13
 
14
14
  Restart the host as needed, then inspect its MCP list. Ask the agent to read its
@@ -43,7 +43,7 @@ available in the execution environment. Authenticate the `work` context first.
43
43
  The repository also has `.agents/plugins/marketplace.json` for local distribution:
44
44
 
45
45
  ```sh
46
- codex plugin marketplace add alexisnaud/geniustasker-agent-tools
46
+ codex plugin marketplace add PulsarInteractive/geniustasker-agent-tools
47
47
  ```
48
48
 
49
49
  Use the host's Plugins interface to select and enable GeniusTasker. This local
package/docs/LIMITS.md ADDED
@@ -0,0 +1,49 @@
1
+ # Usage limits
2
+
3
+ CLI and MCP share your GeniusTasker account limits. Creating more agent profiles,
4
+ opening more terminals or changing devices does not give additional allowance.
5
+ The service reports current limits through `geniustasker capabilities --json`.
6
+
7
+ ## Agent requests
8
+
9
+ | Allowance | Free | Premium | Pro |
10
+ | ----------------------------- | ----: | -----------------: | -----------------: |
11
+ | Requests per 60 seconds | 30 | 120 | 300 |
12
+ | Write requests per 60 seconds | 5 | 20 | 60 |
13
+ | Monthly request credits | 5,000 | No monthly ceiling | No monthly ceiling |
14
+ | Monthly write requests | 500 | No monthly ceiling | No monthly ceiling |
15
+
16
+ Write requests also count toward the request limit. For Free accounts, a read
17
+ costs one monthly credit and a write costs five; both monthly limits must have
18
+ capacity. Monthly counters reset at the beginning of the next calendar month
19
+ in UTC. Premium appears as `Starter` in API responses; Pro appears as `Pro`.
20
+
21
+ These are the current service settings, not a pricing commitment. Short-window
22
+ limits provide traffic protection and can apply approximately by location;
23
+ clients must follow the service response. Resource limits for projects, members,
24
+ Memory, storage and attachments are separate and still apply. Availability also
25
+ requires account approval and an explicitly granted agent connection.
26
+
27
+ ## When a limit is reached
28
+
29
+ | Response | Next step |
30
+ | -------------------------------- | --------------------------------------------------------------------- |
31
+ | Temporary rate limit (`429`) | Wait for the reported retry time; do not loop or open another context |
32
+ | Free monthly allowance exhausted | Wait for the reported reset or change plan when available |
33
+ | Resource capacity reached | Free capacity or change plan before creating more data |
34
+ | Permission refused (`403`) | Ask the account or resource owner to review access |
35
+ | Interrupted write | Keep its operation ID and retry that same operation |
36
+
37
+ The client preserves a write's immutable journal for safe retries. A timeout is
38
+ not proof that the write failed. Read the latest record after a revision conflict
39
+ before preparing a new operation.
40
+
41
+ ## Keep reads focused
42
+
43
+ - List one page of spaces or resources at a time and follow its cursor as needed.
44
+ - Use Memory search and its page index before downloading document bodies.
45
+ - Explore a bounded Graph neighborhood instead of loading every node.
46
+ - Reuse checkpoints for change reads; honor `restart_read` when the service asks.
47
+ - Local cache hits revalidate access. Revoked permissions never become an offline grant.
48
+
49
+ See [CLI reference](CLI.md) for commands and [Memory & Graph](MEMORY.md) for examples.
package/docs/MEMORY.md ADDED
@@ -0,0 +1,38 @@
1
+ # Memory and Graph
2
+
3
+ Memory stores structured documents independently of projects. Graph connects
4
+ nodes and links them to a page or a stable document block. These commands require
5
+ the matching deployed service capabilities; check `geniustasker capabilities --json` before using them.
6
+
7
+ ```sh
8
+ geniustasker memory search --scope memory:ID --query "release checklist" --json
9
+ geniustasker graph explore --scope memory:ID --center NODE_ID --depth 2 --json
10
+ geniustasker memory resolve --scope memory:ID --page PAGE_ID --block BLOCK_ID --json
11
+ ```
12
+
13
+ The matching MCP tools are `tasker_search`, `tasker_graph` and `tasker_reference`.
14
+ Search is paginated; Graph returns a bounded neighborhood and reports truncation.
15
+ Use `resources list` for complete selected records and `commands describe` for
16
+ contract-derived node/edge write fields. Writes keep the same immutable journal.
17
+
18
+ References recheck current access. If a friend withdraws access, the content
19
+ becomes unavailable while the node and its own text remain intact. A new grant
20
+ restores resolution; a link never grants access by itself. The client does not
21
+ cache resolved content. Discover capabilities before selecting a workflow.
22
+
23
+ ## Attachments
24
+
25
+ Discover `mediaUploadAvailable` and `maxUploadBytes` first. Prepare one explicitly
26
+ selected file with `media prepare --scope memory:ID --epoch EPOCH --file diagram.png
27
+ --content-type image/png`, then `media upload --operation UUID`. Keep that operation
28
+ ID after a timeout: retries verify the same bytes and do not create a second file.
29
+ Use the returned `assetId` in an image or attachment block. Images, PDF and plain
30
+ text are supported up to 15 MB; storage is charged to the Memory owner.
31
+
32
+ MCP equivalents are `tasker_media_prepare`, `tasker_media_upload`,
33
+ `tasker_media_action` and `tasker_media_download`. Downloads require an explicit
34
+ new local path and fresh read access. Removal leaves document blocks in place
35
+ so people can see and repair the unavailable attachment. No credentials, URLs
36
+ with public access tokens or file bytes are embedded in documents.
37
+
38
+ See the [CLI reference](CLI.md) for document blocks, page roles, node types, images and detailed command examples.
package/docs/OPENAI.md CHANGED
@@ -9,20 +9,19 @@ Nothing here is an OpenAI directory approval or a hosted remote MCP endpoint.
9
9
 
10
10
  ## Hosted plugin milestone
11
11
 
12
- | Work | Acceptance |
13
- | --- | --- |
14
- | HTTPS Streamable HTTP MCP adapter | Real initialize, tools/list and tool calls; reuse existing product commands and quotas |
15
- | MCP OAuth compatibility | Protected-resource and authorization discovery, audience/resource binding, supported client registration, allowed callbacks, PKCE, expiry and revocation |
16
- | Host authentication | Real browser consent, resource-limited reads, denied access and reauthentication |
17
- | Writes | Explicit grants, correctly annotated tools, immutable retries and conflicts; no blanket approval |
18
- | Optional company-knowledge search | Authorized search/fetch with user-openable citations and bounded results |
19
- | Plugin review | Accurate install copy, privacy/terms links, domain verification, real test account, honest limitations |
12
+ | Work | Acceptance |
13
+ | --------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
14
+ | HTTPS Streamable HTTP MCP adapter | Real initialize, tools/list and tool calls; reuse existing product commands and quotas |
15
+ | MCP OAuth compatibility | Protected-resource and authorization discovery, audience/resource binding, supported client registration, allowed callbacks, PKCE, expiry and revocation |
16
+ | Host authentication | Real browser consent, resource-limited reads, denied access and reauthentication |
17
+ | Writes | Explicit grants, correctly annotated tools, immutable retries and conflicts; no blanket approval |
18
+ | Optional company-knowledge search | Authorized search/fetch with user-openable citations and bounded results |
19
+ | Plugin review | Accurate install copy, privacy/terms links, domain verification, real test account, honest limitations |
20
20
 
21
21
  The current CLI OAuth flow is a foundation; it is not proof that every hosted
22
22
  MCP client's registration and resource-discovery requirements are implemented.
23
- Do not add a pretend `/mcp` URL or registered OpenAI application ID to manifests.
24
- Only map a registered server after it exists and passes host acceptance. Embedded
25
- UI is optional and should follow actual product tasks.
23
+ A hosted manifest requires a deployed and tested MCP server and a registered
24
+ application identifier. Embedded UI is optional.
26
25
 
27
26
  The remotely hosted backend can remain private. A public source repository is a
28
27
  client distribution and review surface, not an access grant to user data.
package/docs/RELEASING.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # Release process
2
2
 
3
3
  1. Update package, lockfile, MCP server version, plugin version and example pins together.
4
- 2. Review public contract/skill changes and run `npm ci`, `npm test`, `npm run check` and `npm audit`.
4
+ 2. Review public contract/skill changes and run `npm ci`, `npm run verify` and `npm audit`.
5
5
  3. Inspect `git diff` and the complete `npm pack --dry-run --json` list. No private repository history or product files may enter this repo.
6
6
  4. Pack and inspect the actual archive. `npm publish <archive> --access public --tag beta` requires the maintainer's npm authentication.
7
7
  5. Confirm registry version/tag/integrity, install using a fresh cache and exercise real MCP through an explicitly authorized beta account. Keep private results outside this repository.
@@ -11,5 +11,13 @@ CI runs tests and package/privacy checks. It never publishes npm or deploys the
11
11
  service. Future trusted publishing should use a reviewed OIDC setup rather than
12
12
  committing an npm token; it is not configured by this repository.
13
13
 
14
- The `v0.1.0-beta.1` tag preserves the original published runtime. Its informational
15
- `doctor.publication` text is outdated; beta.2 corrects it. npm versions are immutable.
14
+ Published npm versions are immutable. Use a new version for package changes.
15
+
16
+ Canonical repository: https://github.com/PulsarInteractive/geniustasker-agent-tools
17
+
18
+ The npm package page and unqualified installs use the `latest` tag. After verifying
19
+ the release archive, explicitly update both the intended channel and the default
20
+ version; do not leave `latest` pointing at a superseded license or README. Verify
21
+ `npm view @pulsarinteractive/geniustasker dist-tags license repository.url --json`
22
+ and inspect the actual npm page. An old published archive is immutable; tags do
23
+ not rewrite its contents.
@@ -0,0 +1,52 @@
1
+ # Testing
2
+
3
+ ## Run the quality checks
4
+
5
+ ```sh
6
+ npm ci
7
+ npm run verify
8
+ ```
9
+
10
+ `verify` runs formatting, ESLint, tests, package inventory, public-file checks and
11
+ plugin/schema validation. CI runs the same command on Linux and macOS with Node
12
+ 22, followed by a dependency vulnerability audit. It has read-only repository
13
+ permissions and no live service credentials.
14
+
15
+ ## Focused checks
16
+
17
+ ```sh
18
+ npm run format:check
19
+ npm run lint
20
+ node --test test/login.test.mjs
21
+ node --test test/process.test.mjs
22
+ npm run check
23
+ npm audit
24
+ ```
25
+
26
+ `npm run format` applies formatting. The generated command catalog and vendored
27
+ schemas are excluded from formatting so their provenance remains stable.
28
+
29
+ ## What the suites cover
30
+
31
+ | Suite | Observable guarantees |
32
+ | --------------- | --------------------------------------------------------------------------------------------------------------- |
33
+ | Login | Consent URL validation, PKCE state/callback handling, denial, cancellation, device-flow deadlines and slow-down |
34
+ | Client/store | Private file checks, origin binding, serialized renewal and uncertain-token recovery |
35
+ | Commands | Immutable requests, concurrent writes, identity binding, uncertain receipts and conflicts |
36
+ | Profiles | Grant validation, narrowed selection, revision conflicts and rotation uncertainty |
37
+ | Changes | Cursor validation, bounded waits, cancellation and no blind retries after quota or permission failures |
38
+ | Process | Real stdio MCP discovery/calls and coordination between separate OS processes |
39
+ | Public boundary | Rejection of excluded files, credentials, symlinks and escaping imports |
40
+
41
+ Tests create and clean up their own temporary directories and loopback servers.
42
+ They do not require browser sign-in or real project data. Use meaningful scenario
43
+ names, assert behavior at public boundaries and include the failure that motivates
44
+ a regression test. Avoid sleeps as synchronization when an explicit signal works.
45
+
46
+ ## What local tests do not establish
47
+
48
+ They do not prove admission to the hosted beta, production availability, browser
49
+ provider compatibility on every device or acceptance by each agent host. Release
50
+ verification separately installs the published archive with a fresh cache,
51
+ compares registry integrity and exercises a deliberately authorized test account.
52
+ Record those checks without publishing account data.
@@ -1,3 +1,3 @@
1
1
  [mcp_servers.geniustasker]
2
2
  command = "npx"
3
- args = ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.2", "mcp", "--context", "work"]
3
+ args = ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.4", "mcp", "--context", "work"]
package/examples/mcp.json CHANGED
@@ -2,13 +2,7 @@
2
2
  "mcpServers": {
3
3
  "geniustasker": {
4
4
  "command": "npx",
5
- "args": [
6
- "-y",
7
- "@pulsarinteractive/geniustasker@0.1.0-beta.2",
8
- "mcp",
9
- "--context",
10
- "work"
11
- ]
5
+ "args": ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.4", "mcp", "--context", "work"]
12
6
  }
13
7
  }
14
8
  }
package/mcp.json CHANGED
@@ -4,13 +4,7 @@
4
4
  "geniustasker": {
5
5
  "type": "stdio",
6
6
  "command": "npx",
7
- "args": [
8
- "-y",
9
- "@pulsarinteractive/geniustasker@0.1.0-beta.2",
10
- "mcp",
11
- "--context",
12
- "work"
13
- ]
7
+ "args": ["-y", "@pulsarinteractive/geniustasker@0.1.0-beta.4", "mcp", "--context", "work"]
14
8
  }
15
9
  }
16
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulsarinteractive/geniustasker",
3
- "version": "0.1.0-beta.2",
3
+ "version": "0.1.0-beta.4",
4
4
  "private": false,
5
5
  "description": "GeniusTasker delegated CLI and local agent tools",
6
6
  "type": "module",
@@ -21,13 +21,20 @@
21
21
  "CONTRIBUTING.md",
22
22
  "SECURITY.md",
23
23
  "plugin.json",
24
- "mcp.json"
24
+ "mcp.json",
25
+ "LICENSE",
26
+ "THIRD_PARTY_NOTICES.md",
27
+ "LICENSES/"
25
28
  ],
26
29
  "scripts": {
27
30
  "test": "node --test test/*.test.mjs",
28
31
  "check": "node tools/check-package.mjs && node tools/check-public.mjs && node tools/check-plugin.mjs",
29
- "prepublishOnly": "npm test && npm run check",
30
- "check:public": "node tools/check-public.mjs"
32
+ "prepublishOnly": "npm run verify",
33
+ "check:public": "node tools/check-public.mjs",
34
+ "format": "prettier --write .",
35
+ "format:check": "prettier --check .",
36
+ "lint": "eslint .",
37
+ "verify": "npm run format:check && npm run lint && npm test && npm run check"
31
38
  },
32
39
  "dependencies": {
33
40
  "@modelcontextprotocol/server": "2.1.0",
@@ -35,10 +42,14 @@
35
42
  "zod": "4.6.5"
36
43
  },
37
44
  "devDependencies": {
45
+ "@eslint/js": "10.0.1",
38
46
  "@modelcontextprotocol/client": "2.1.0",
39
- "ajv": "8.20.0"
47
+ "ajv": "8.20.0",
48
+ "eslint": "10.11.0",
49
+ "globals": "17.12.0",
50
+ "prettier": "3.9.9"
40
51
  },
41
- "license": "UNLICENSED",
52
+ "license": "MIT",
42
53
  "publishConfig": {
43
54
  "access": "public",
44
55
  "tag": "beta",
@@ -46,11 +57,11 @@
46
57
  },
47
58
  "repository": {
48
59
  "type": "git",
49
- "url": "https://github.com/alexisnaud/geniustasker-agent-tools.git"
60
+ "url": "https://github.com/PulsarInteractive/geniustasker-agent-tools.git"
50
61
  },
51
- "homepage": "https://github.com/alexisnaud/geniustasker-agent-tools#readme",
62
+ "homepage": "https://github.com/PulsarInteractive/geniustasker-agent-tools#readme",
52
63
  "bugs": {
53
- "url": "https://github.com/alexisnaud/geniustasker-agent-tools/issues"
64
+ "url": "https://github.com/PulsarInteractive/geniustasker-agent-tools/issues"
54
65
  },
55
66
  "keywords": [
56
67
  "geniustasker",
package/plugin.json CHANGED
@@ -1,18 +1,14 @@
1
1
  {
2
2
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
3
3
  "name": "geniustasker",
4
- "version": "0.1.0-beta.2",
4
+ "version": "0.1.0-beta.4",
5
5
  "description": "Track project work and independent product memories with your own agents.",
6
6
  "author": {
7
7
  "name": "Pulsar Interactive"
8
8
  },
9
- "repository": "https://github.com/alexisnaud/geniustasker-agent-tools",
10
- "license": "UNLICENSED",
11
- "keywords": [
12
- "productivity",
13
- "projects",
14
- "memory"
15
- ],
9
+ "repository": "https://github.com/PulsarInteractive/geniustasker-agent-tools",
10
+ "license": "MIT",
11
+ "keywords": ["productivity", "projects", "memory"],
16
12
  "extensions": {
17
13
  "com.openai": {
18
14
  "interface": {
@@ -20,13 +16,8 @@
20
16
  "shortDescription": "Projects, progress and memory for your agents",
21
17
  "developerName": "Pulsar Interactive",
22
18
  "category": "Productivity",
23
- "capabilities": [
24
- "Read",
25
- "Write"
26
- ],
27
- "defaultPrompt": [
28
- "Use GeniusTasker to review my project progress and next tasks."
29
- ]
19
+ "capabilities": ["Read", "Write"],
20
+ "defaultPrompt": ["Use GeniusTasker to review my project progress and next tasks."]
30
21
  }
31
22
  }
32
23
  }
@@ -25,6 +25,9 @@ List projects, then select a scope from the returned data. Read a collection
25
25
  listed in capabilities with `resources list --scope project:ID --collection
26
26
  tasks --json`, or MCP `tasker_resources`. Collections include tasks, comments,
27
27
  goals, documents, workflows, sprints and summary history when permitted.
28
+ For document indexes, schedules, membership and planning collections, read
29
+ [Focused project reads](references/project-reads.md). `documents` means task
30
+ attachments; `projectDocumentIndex` and `projectDocuments` cover the project library.
28
31
 
29
32
  Read bounded pages. Follow `nextAfter` even if the project page is empty: ACL
30
33
  filtering can hide every item in a scanned page. For resource continuation,
@@ -99,8 +102,6 @@ to evade quotas. If the requested capability is unavailable, say what is pending
99
102
  and preserve the useful findings. Final progress should identify the actual
100
103
  project/ticket and distinguish completed work, validation and remaining work.
101
104
 
102
-
103
-
104
105
  ## Specialized workflows
105
106
 
106
107
  - To create, switch or restrict an agent identity, read [Profiles](references/profiles.md).
@@ -1,4 +1,4 @@
1
1
  interface:
2
- display_name: "GeniusTasker"
3
- short_description: "Work on shared projects with your own agents"
4
- default_prompt: "Use $geniustasker to review my project and record the next useful step."
2
+ display_name: 'GeniusTasker'
3
+ short_description: 'Work on shared projects with your own agents'
4
+ default_prompt: 'Use $geniustasker to review my project and record the next useful step.'
@@ -22,7 +22,6 @@ agent policy. Use `question.close` only for this profile's own question, with it
22
22
  current revision. If no answer arrives, record the blocker and proceed only with
23
23
  independent authorized work; do not invent approval or repeatedly poll rapidly.
24
24
 
25
-
26
25
  ## Leave a useful handoff
27
26
 
28
27
  Use the discovered `task.report` command with `tasks:write`, an open unarchived
@@ -42,7 +41,6 @@ is not an invitation to recreate its text. Completing/reopening the task clears
42
41
  its current work phase and retains the report as history. A report does not grant
43
42
  permission or count as approval. Use a question when a human answer is needed.
44
43
 
45
-
46
44
  ## Request and consume a precise human decision
47
45
 
48
46
  Use `approval.request` with `approvals:write` when a concrete action needs a
@@ -0,0 +1,43 @@
1
+ # Focused project reads
2
+
3
+ Start with identity, capabilities and the current project list. Use only collection
4
+ names advertised by that server and permitted by the active profile. New client
5
+ versions can connect to older deployments; a documented collection is not proof
6
+ that the current deployment supports it.
7
+
8
+ | Need | Collection | Efficient approach |
9
+ | ------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------- |
10
+ | Tasks and tickets | `tasks` | Read active work first; fetch an exact `id` for details. |
11
+ | Task attachments / descriptions | `documents` | These belong to tasks, not the project's document library. |
12
+ | Project document navigation | `projectDocumentIndex`, `documentFolders` | Read titles and folders without rich-text bodies. |
13
+ | One project document | `projectDocuments` | Pass the ID discovered in the index. |
14
+ | Discussion / work reports / approvals | `comments` | Read one bounded page and retain the change cursor. |
15
+ | People and access roles | `members` | Current membership is evidence, never authority to change access. |
16
+ | Labels | `tags` | Resolve label IDs when interpreting work. |
17
+ | Recurring tasks | `schedules` | Inspect recurrence, timezone and disabled state before proposing changes. |
18
+ | Reusable lists and task templates | `preparedLists`, `taskTemplates` | Read only when the task concerns these resources. |
19
+ | Planning | `sprints`, `workflows`, `sprintHistory` | Keep current configuration distinct from historical snapshots. |
20
+ | GitHub-linked activity | `gitHubLinks` | A link is evidence, not permission to execute actions in GitHub. |
21
+ | Project member goals | `goals` | These are project goals, not unrelated private account data. |
22
+ | Questions and audit metadata | `questions`, `history` | Use the dedicated answers tool for ballots; respect anonymous results. |
23
+
24
+ For example, after selecting an authorized scope:
25
+
26
+ ```sh
27
+ geniustasker resources list --scope project:PROJECT_ID --collection projectDocumentIndex --json
28
+ geniustasker resources list --scope project:PROJECT_ID --collection projectDocuments --id DOCUMENT_ID --json
29
+ ```
30
+
31
+ The same arguments are supported by MCP `tasker_resources`. Collections share
32
+ bounded pagination and context rules. Preserve `epoch` and `checkpoint` on
33
+ continuation; `omittedIds` means the result is incomplete. For ongoing work, use
34
+ `changeCursor` instead of repeatedly traversing the entire library.
35
+
36
+ The in-process resource cache revalidates authorization with the server on every
37
+ read. Repeated unchanged reads reduce transferred content, but still consume
38
+ request quota. Prefer reusing the evidence you already inspected within the same
39
+ task, and revalidate before relying on current revisions or permissions.
40
+
41
+ Memory and Graph have their own grants and workflow. Follow the
42
+ `geniustasker-memory` skill to navigate page indexes, stable block IDs, links and
43
+ bounded graph neighborhoods. A project membership does not grant Memory access.