Scan Report
5 /100
dida-coach
生产力管控系统与滴答执行层结合的任务教练,负责目标拆解、时间盒安排、管理视角、承诺跟踪、专注复盘,以及更自然的任务查询、创建、更新与闭环支持
Legitimate productivity coaching skill that manages a local task/goal system using Dida365 MCP and local file storage. All operations are clearly documented, purpose-built for task management, and use standard library APIs with no shell execution, credential exfiltration, or obfuscation.
Safe to install
This skill is safe to use. No action required.
| Resource | Declared | Inferred | Status | Evidence |
|---|---|---|---|---|
| Filesystem | WRITE | WRITE | ✓ Aligned | SKILL.md declares writes to ~/.dida-coach/productivity/; tools/productivity_syst… |
| Network | READ | READ | ✓ Aligned | tools/openapi_auth.py uses urllib.request to POST credentials to official Dida36… |
| Shell | NONE | NONE | — | No subprocess, os.system, or shell execution found across all 12 Python files |
| Environment | READ | READ | ✓ Aligned | tools/config_manager.py reads DIDA_COACH_* env vars for path overrides; no itera… |
| Skill Invoke | NONE | NONE | — | No cross-skill invocation or tool remapping observed |
| Clipboard | NONE | NONE | — | No clipboard access detected |
| Browser | NONE | NONE | — | scripts/dida_openapi_oauth.py uses webbrowser.open() for OAuth flow initiation o… |
| Database | NONE | NONE | — | No database access detected |
10 findings
Medium External URL 外部 URL
https://img.shields.io/github/stars/siyuanfeng636-cpu/dida365-coach-skills?style=social README.md:3 Medium External URL 外部 URL
https://img.shields.io/badge/License-MIT-yellow.svg README.md:4 Medium External URL 外部 URL
https://opensource.org/licenses/MIT README.md:4 Medium External URL 外部 URL
https://img.shields.io/badge/version-v1.2.0-blue.svg README.md:5 Medium External URL 外部 URL
https://mcp.dida365.com/oauth/authorize README.md:134 Medium External URL 外部 URL
https://mcp.dida365.com README.md:165 Medium External URL 外部 URL
https://developer.dida365.com/docs#/openapi references/openapi-auth-setup.md:14 Medium External URL 外部 URL
https://context7.com/mcp tests/test_regressions.py:168 Medium External URL 外部 URL
https://dida365.com/oauth/authorize tests/test_regressions.py:202 Medium External URL 外部 URL
https://api.dida365.com/oauth/token tools/openapi_auth.py:19 File Tree
37 files · 152.4 KB · 4505 lines Python 12f · 2522L
Markdown 22f · 1851L
YAML 3f · 132L
├─
▾
agents
│ └─
openai.yaml
YAML
├─
▾
prompts
│ ├─
▾
coach_personas
│ │ ├─
humorous.md
Markdown
│ │ ├─
rational_analyst.md
Markdown
│ │ ├─
strict_coach.md
Markdown
│ │ └─
warm_encouraging.md
Markdown
│ ├─
checkpoint.md
Markdown
│ ├─
closure.md
Markdown
│ ├─
daily_review.md
Markdown
│ ├─
monthly_review.md
Markdown
│ ├─
productivity_management.md
Markdown
│ ├─
rescheduling.md
Markdown
│ ├─
setup.md
Markdown
│ ├─
system.md
Markdown
│ ├─
task_breakdown.md
Markdown
│ ├─
task_management.md
Markdown
│ ├─
timebox_creation.md
Markdown
│ └─
weekly_review.md
Markdown
├─
▾
references
│ ├─
dida-field-semantics.md
Markdown
│ ├─
mcp-client-setup.md
Markdown
│ ├─
mcp-tool-routing.md
Markdown
│ └─
openapi-auth-setup.md
Markdown
├─
▾
scripts
│ └─
dida_openapi_oauth.py
Python
├─
▾
tests
│ └─
test_regressions.py
Python
├─
▾
tools
│ ├─
__init__.py
Python
│ ├─
config_manager.py
Python
│ ├─
dida_semantics.py
Python
│ ├─
mcp_client.py
Python
│ ├─
openapi_auth.py
Python
│ ├─
productivity_system.py
Python
│ ├─
review_analyzer.py
Python
│ ├─
task_parser.py
Python
│ ├─
timebox_calculator.py
Python
│ └─
work_method_recommender.py
Python
├─
config.yaml
YAML
├─
README.md
Markdown
├─
SKILL.md
Markdown
└─
skill.yaml
YAML
Security Positives
✓ No shell execution: All Python files use standard library only (urllib, pathlib, json, yaml) with no subprocess, os.system, or popen calls
✓ No credential exfiltration: tools/openapi_auth.py stores tokens locally via write_openapi_env() to ~/.dida-coach/dida-openapi.env; no network exfiltration of credentials
✓ No obfuscation: All code is readable plain Python with no base64-encoded payloads, eval(), or exec() calls
✓ No hidden functionality: Every file's behavior matches its documentation in SKILL.md
✓ Legitimate OAuth flow: tools/openapi_auth.py uses standard urllib with Dida365's official OAuth endpoints (api.dida365.com/oauth/token) with proper state validation
✓ Local-only credential storage: Credentials never leave the machine; stored in ~/.dida-coach/ directory only
✓ All IOCs are benign: External URLs found are all legitimate Dida365 official endpoints (developer.dida365.com, mcp.dida365.com, api.dida365.com)
✓ No sensitive path access: No access to ~/.ssh, ~/.aws, .env files beyond the skill's own credential file
✓ No remote code execution: MCP configuration writes are local JSON edits only, no download-and-execute patterns